package com.wunong.smart.commission.domain.repository;

import com.wunong.smart.commission.client.query.CommissionQueryDTO;
import com.wunong.smart.commission.domain.model.CommissionDomain;
import com.wunong.smart.domain.platform.common.BizSource;

import java.util.Collection;
import java.util.List;

/**
 * @author create by zealot.zt
 */
public interface CommissionRepository {

    CommissionDomain getById(Long id);

    List<CommissionDomain> queryByIds(Collection<Long> ids);

    Long save(CommissionDomain domain);

    void update(CommissionDomain domain);

    CommissionDomain getById(Long userId, Long id);

    List<CommissionDomain> queryByBiz(String bizId, Integer bizType, Integer commissionType);

    CommissionDomain getByBiz(BizSource source, String uniqueKey);

    /**
     * 代办查询
     *
     * @param queryDTO
     * @return
     */
    List<CommissionDomain> query(CommissionQueryDTO queryDTO);

}
